package com.cn.lottery;

import java.util.List;

import com.cn.lottery.Server.Server;

/**
 * 不同概率抽奖工具包
 * @version:1.0
 */
public class LotteryUtil {
	
	public static Gift lottery(double value,Server server){
		//中奖
		if(value < 0.002){
			//选中奖池抽奖
			return getLotteryGift(server);
		}else{
			//未中奖
			return null;
		}
	}
	
	public static Gift getLotteryGift(Server server){
		//根据概率选取中奖奖品
		double nextDouble = Math.random();
		int idx = GiftData.getValueIndex(nextDouble,server);
		Gift gift = GiftData.getGift(idx,server);
		if(gift == null){
			return null;
		}
		//奖池为空,不中奖
		if(gift.getResidue_pool() <= 0){
			//奖品为空重新计算奖品分布概率
			GiftData.clearn();
			//重新抽取
			return getLotteryGift(server);
		}
		//扣除奖池数量
		gift.getPool();
		return gift;
	}
	
}